package com.ecmcloud.common.constants;

public interface ProcessInstanceConstant {
    /**
     * 空执行人
     */
    String DEFAULT_EMPTY_ASSIGN="-99999999";
    /**
     * 用户任务没有执行人的情况下如何处理
     * 自动通过
     */
    String USER_TASK_NOBODY_HANDLER_TO_PASS ="TO_PASS";
    /**
     * 转交给管理员
     */
    String USER_TASK_NOBODY_HANDLER_TO_ADMIN ="TO_ADMIN";
    /**
     * 指定人员
     */
    String USER_TASK_NOBODY_HANDLER_TO_USER ="TO_USER";
    /**
     * 结束流程
     */
    String USER_TASK_NOBODY_HANDLER_TO_END ="TO_END";
    /**
     * 自动拒绝
     */
    String USER_TASK_NOBODY_HANDLER_TO_REFUSE ="TO_REFUSE";
    /**
     * 拒绝之后 结束流程
     */
    String USER_TASK_REFUSE_TYPE_TO_END ="TO_END";
    /**
     * 拒绝之后 到某个节点
     */
    String USER_TASK_REFUSE_TYPE_TO_NODE ="TO_NODE";
    /**
     * 会签
     */
    int MULTIPLE_MODE_AL_SAME = 1;
    /**
     * 或签
     */
    int MULTIPLE_MODE_ONE = 2;
    /**
     * 顺签
     */
    int MULTIPLE_MODE_ALL_SORT = 3;

    public interface AssignedTypeClass{
        /**
         * 指定用户
         */
        int USER=1;
        
        /**
         * 系统自动拒绝
         */
        int SYSTEM_REFUSE=11;
        
        /**
         * 发起人自己
         */
        int SELF=5;
        
        /**
         * 表单人员
         */
        int FORM_USER=8;
        
        /**
         * 表单部门
         */
        int FORM_DEPT=9;
        
        /**
         * 指定部门主管
         */
        int FIXED_DEPT_LEADER = 10;
        
        /**
         * 指定主管
         */
        int LEADER=2;
        
        /**
         * 连续多级主管
         */
        int LEADER_TOP=7;
        
        /**
         * 发起人自选
         */
        int SELF_SELECT=4;
        
        /**
         * 角色
         */
        int ROLE=3;
    }
    /**
     * 审批人是表单部门时  用户类型
     */
    public interface AssignedTypeFormDeptUserTypeClass {
    	
        /**
         * 部门人员
         */
        String ALL_USER = "allUser";
        /**
         * 主管
         */
        String LEADER = "leader";
    }
    /**
     * 变量key
     */
    public interface VariableKey{
    	
        /**
         * 发起人
         */
        String STARTER = "root";

        /**
         * 审批结果 boolean
         */
        String APPROVE_RESULT ="approveResult";
    }
    /**
     * 表单权限
     */
    public interface FormPermClass{
    	
        /**
         * 隐藏
         */
        String HIDE = "H";
        /**
         * 只读
         */
        String READ = "R";
        /**
         * 编辑
         */
        String EDIT = "E";
    }
}
